home *** CD-ROM | disk | FTP | other *** search
- METAVIEW.ACC, METAVIEW.PRG, and the associated documentation are
- (C)opyright 1988, 1989 by Ric Clayton. MetaView is an un-registered
- trademark of SoftWave Studios.
-
- All versions of MetaView (hereinafter referred to as "the
- software") are copyrighted by the author. The author reserves all
- rights with respect to the copyright, including, but not limited to,
- ownership, sale, and distribution of any and all versions of the
- software. No version of the software may be sold or included in a
- commercial package without written permission from the author.
-
- The current version of the software is being distributed as
- "Shareware". It is not free. You may upload it to information
- services and networks (like GEnie, CompuServe, USEnet, etc.) or give it
- to friends for evaluation.
-
- You may use the software for a limited time to evaluate it. If
- you like it and wish to continue using it, you should become a
- registered user. You become a registered user by sending $25.00 (US)
- to the author. (Be sure to include a note that you are registering as
- a user of the software.) Registered users will receive notices when
- new versions are available. Registered users may also obtain the
- latest version of the software, when available, by sending a 3.5"
- Floppy Disk and $5.00 (US) to the author. (The more registrations I
- receive, the more motivated I will be to enhance and maintain this
- software and produce more Shareware.)
-
- MetaView was designed and programmed by Ric Clayton using the
- Megamax Laser-C development system.
-
- Inquiries, comments, suggestions, registrations, donations, etc.
- are welcome and should be addressed to:
-
- Ric Clayton
- 1000 Escalon Ave. #1126
- Sunnyvale, CA. 94086 USA
-
- GEnie: RIC
- Portal: Ric Clayton
- USEnet: ric.i.clayton@portal.com
- CompuServe:[73317,1350]
-
-
- 1.0 What it is
-
- MetaView is a program which allows you to view GEM Metafiles in
- standard GEM windows. (Metafiles are files with a .GEM extension, such
- as those produced by EasyDraw and GEM-Draw.) Two versions are included
- on the distribution disk; a GEM Desk Accessory (METAVIEW.ACC) and a GEM
- Application (METAVIEW.PRG). Both function identically. The Accessory
- version will function from within other GEM applications that allow you
- to access Desk Accessories.
-
- MetaView will display any GEM Metafile, in any resolution, with or
- without GDOS installed, and (hopefully) run on any version of TOS.
-
- MetaView contains a robust window manager. You'll find you can do
- things to MetaView's windows that most other applications don't
- support.
-
- I've tried to make MetaView's functions easy to operate and
- remember. If things are confusing at first, don't be afraid to
- experiment. With a little practice, working with MetaView will become
- natural and obvious.
-
-
- 2.0 The Menu Selections
-
- The menus for both the program and accessory versions are
- virtually identical. The exception is that the accessory version has
- no "Quit" selection, since GEM Desk Accessories cannot terminate. In
- addition, the accessory version displays all it's selections in a
- single menu which pops out of the "MetaView..." Desk Accessory menu
- selection.
-
-
- 2.1 "About Metaview..."
-
- This displays a box containing version and copyright information.
- The number of windows MetaView currently has open is displayed at the
- bottom of the box. Click anywhere on the screen to remove the "About"
- box.
-
-
- 2.2 File - "View Metafile..."
-
- Opens a window and reads a metafile for viewing. The metafile is
- selected with the standard GEM file selector. (The same thing can be
- accomplished with the Window "Open" function, but this is much
- quicker.)
-
-
- 2.3 File - "Quit"
-
- Available in the program version only, terminates MetaView
- returning you to the application that invoked it (usually the GEM
- Desktop).
-
-
- 2.4 Window - "Open"
-
- This allows you to selectively open a MetaView window. When you
- left-click on "Open", a window sub-menu will pop out with a title of
- "Open Window". From this menu you may select a specific MetaView
- window. If the window selection contains a file name, indicating the
- window had been previously opened, left-clicking the selection will re-
- open the window to its previous position and size to view the indicated
- metafile. If the window selection is empty, left-clicking the
- selection will bring up the file selector so you may select the
- metafile to view.
-
- Holding down the Right mouse button whilst left-clicking a
- previously opened window selection will also bring up the file
- selector. This allows you to change the metafile to be viewed without
- altering the window's prior position and size.
-
- The "All Windows" selection at the bottom of the sub-menu allows
- you to reopen all previously opened windows in a single operation.
- This is especially handy when you had windows open on the Desktop and
- want to view the same windows after entering an application.
-
- You can quickly re-open the last window you closed by holding down
- the Right mouse button whilst selecting the Window "Open" function.
- This bypasses the sub-menu and reopens the last window you closed. If
- there are no previously opened windows available but more windows can
- be opened, MetaView will ask you to specify a metafile by bringing up
- the file selector and open a new window. (This the same as selecting
- "Open Metafile..." from the File Menu.)
-
-
- 2.5 Window - "Close"
-
- This allows you to selectively close a MetaView window. When you
- left-click on "Close", a window sub-menu will pop out with a title of
- "Close Window". From this menu you may select a specific MetaView
- window to close.
-
- The "All Windows" selection at the bottom of the sub-menu allows
- you to close all open windows in a single operation.
-
- You can quickly close the top window by holding down the Right
- mouse button whilst selecting the Window "Close" function. This has
- the same effect as clicking on the "close box" in the upper right
- corner of the top window.
-
-
- 2.6 Window - "Top"
-
- This allows you to selectively make a MetaView window the "Top"
- window. When you left-click on "Top", a window sub-menu will pop out
- with a title of "Top Window". From this menu you may request a
- specific MetaView window be placed on top of all other windows on the
- desktop.
-
- Note that MetaView's "top" window is not necessarily the "top"
- window on the desktop. You can place MetaView's top window on top of
- all other windows by holding down the Right mouse button and left-
- clicking the Window "Top" function. This has the same effect as
- clicking on the window's title line.
-
- This function is most useful when you want "Top" a window which is
- totally covered by other windows.
-
-
- 2.7 Window - "Frame"
-
- This function allows you to move and size a MetaView window in a
- single operation.
-
- When you select the "Frame" operation the mouse cursor turns into
- a shape resembling the upper left-hand corner of a square. Move the
- mouse so that the cursor is where you want the upper-left corner of the
- window to be. When you have the upper left corner position
- established, hold down the Left mouse button. The mouse cursor will
- change to look like the lower right-hand corner of a square. While
- continuing to hold down the Left mouse button, drag the mouse towards
- the lower-right of the desktop. You'll see an expanding rubber box
- showing the size the window will be at its new position. When you're
- satisfied with the size of the box, release the Left mouse button and
- the selected window will move and resize itself.
-
- As with other Window operations, Left-clicking the "Frame"
- selection brings up a window sub-menu and holding the Right mouse
- button down while left-clicking "Frame"s MetaView's top window.
-
- The "All Windows" selection in the sub-menu will enable you to
- frame each open window one at a time. The window waiting to be framed
- will change it's title to the window number surrounded by two outward
- point arrows, like "<< 1 >>". Framing operation begins with the top
- window and continues with each window in order.
-
- If you initiate a Frame operation and then decide you don't want
- to do it, you may cancel the Frame. While MetaView is waiting for you
- to specify the upper right-hand corner of the window, left-click once
- instead of dragging out the rubber box and the Frame will be cancelled.
-
-
- 2.8 Window - "Full"
-
- This is equivalent to clicking on a window's "full" box. (The one
- in the upper-left corner of most windows.) If the window is not
- already full, then it is made full. If the window is already full,
- then it is returned to its prior un-full size and position.
-
- Left-clicking the Window "Full" selection will bring up the
- standard MetaView window sub-menu. Holding down the Right mouse button
- and left-clicking "Full" will full MetaView's top window.
-
- Selecting "All Windows" from the sub-menu will apply a "full"
- operation to each open window, fulling those that are un-fulled and un-
- fulling those that are fulled.
-
-
- 2.9 Window - "Redraw"
-
- This operation requests that MetaView completely redraw one or
- more of it's open windows. This is handy when you've been moving
- several windows around with redrawing inhibited (left-shift and
- alternate keys held down).
-
- Left-clicking on the "Redraw" selection will bring up the standard
- Metaview window sub-menu. Holding the Right mouse button down whilst
- left-clicking "Redraw" will cause MetaView's top window to be redrawn.
-
- Selecting "All Windows" from the sub-menu will instruct MetaView
- to redraw all of it's open windows.
-
-
- 2.10 Window - "Reset"
-
- Selecting this function will close any open windows, freeing any
- memory allocated to them, and reset MetaView's internal window table to
- it's initial state. This effectively erases MetaView's window memory.
- All window sizes and positions are reset, all filenames are cleared and
- the window order is reset to it's initial sequence of "1,2,3,4,5,6,7".
- The only thing MetaView retains is the last path used in the file
- selector.
-
-
- 2.11 Font - "Load" and "Unload"
-
- These selections are used to instruct MetaView to load and use any
- available GDOS fonts or use the built-in system fonts.
-
- If GDOS is not active, or not installed, then both selections will
- be disabled and only the system fonts will be used.
-
- If GDOS is installed and active, the "Load" selection is enabled
- and the "Unload" selection is disabled. This indicates that the system
- fonts will be used to draw text, which is what MetaView defaults to.
-
- Selecting "Load" will instruct MetaView to use GDOS fonts in
- subsequent drawing operations involving text. If the fonts have not
- already been loaded by another application, selecting "Load" will also
- cause GDOS to load all assigned screen fonts into memory. Notice that
- the "Load" selection is now disabled and the "Unload" selection is
- enabled. This indicates that GDOS fonts are loaded and will be used by
- MetaView.
-
- Selecting "Unload" instructs MetaView to stop using GDOS fonts and
- return to using the system fonts only. If MetaView is the only
- application using GDOS fonts when "Unload" is selected, then GDOS will
- also remove the fonts from memory. The Font selections will now be
- back to their initial state, "Load" is enabled and "Unload" is
- disabled.
-
-
- 3.0 Behind the Scenes
-
- 3.1 Window Memory
-
- MetaView remembers the last position and size of an open window,
- as well as the metafile that was being viewed in the window. It also
- remembers the order in which the windows were last placed on the
- desktop. This order is reflected in the ordering of selections in
- MetaView's window sub-menus.
-
-
- 3.2 File buffering
-
- When a Metafile is opened, a buffer for the file is allocated in
- the computer's memory and the entire file is read into memory. All
- drawing will thereafter be done from this buffer.
-
- If then there is not enough memory to allocate a buffer for a
- metafile, an alert will be displayed. You'll have to close one or more
- windows or exit the application to make room for the file buffer.
- (Future versions will provide an option to draw directly from disk when
- there is no memory available for a buffer.)
-
-
- 3.3 Window Sub-Menus
-
- Window sub-menus give you access to MetaView's internal window
- table. Using the sub-menus you can apply any Window menu operation to
- any MetaView window. There is no requirement to bring a MetaView
- window to the top of the desktop in order to manipulate it.
-
- If you Left-click one of the Window menu operations, a sub-menu of
- window selections will be displayed. Left-clicking on a specific
- window selection will apply the operation (Open, Close, etc.) to the
- selected window. With the exception of "Open", all window sub-menus
- allow you to apply the Window operation to any open window. ("Open"
- only works on un-open windows.)
-
- With the exception of "Top", any operation may be applied to all
- windows. (Since only one window can be the "top" window in GEM,
- topping all windows makes no sense.)
-
- Left-clicking on the Window selections (Close, Top, etc.) whilst
- holding down the Right mouse button, with the exception of "Open",
- applies the operation to MetaView's Top window. (Note: this may not be
- the visibly Top window if another application is displaying a window on
- top of MetaView's windows.) The Window Open function, in this case,
- re-opens the last window that was open, or the next available window if
- there was no previously opened window.
-
-
- 3.4 Window Ordering
-
- MetaView remembers the order in which windows appear on the
- desktop. This is reflected by the ordering of selections in the window
- sub-menus. MetaView's top-most window will be the first selection in
- the sub-menu, followed by the window under the top window, and so on.
- A check mark appears next to the first selection in the window sub-
- menus to remind you that this is MetaView's top window.
-
-
- 3.5 Window Titling
-
- Window titles consists of the window's internal number and the
- name of the metafile being displayed. During some operations, a
- windows title will change to indicate the operation being performed.
-
- When a metafile is being loaded from disk, the window title will
- change to the window's number surrounded by two inward pointing arrows.
- For example; when a file is being loaded for display in window #1, the
- window's title will look like:
-
- >> 1 <<
-
- When a window is being "Framed", it's title will change to the
- window's number surrounded by two outward pointing arrows. For
- example; whilst Framing window #2, the window's title will look like:
-
- << 2 >>
-
- While a window is being drawn, its title will change to the
- window's number surrounded by two little clock faces.
-
-
- 3.6 Window Redrawing
-
- MetaView does not actually do any drawing. It just translates
- metafile information into a form acceptable to GEM's Virtual Device
- Interface (VDI). Its the GEM VDI that does the actual drawing of
- metafile objects.
-
- MetaView also does not analyze any of the metafile information.
- Because of this, window redrawing may take quit a while to complete.
- This is mostly evident when several complex metafiles are being viewed
- with un-even overlapping windows. Due to this, MetaView provides a way
- for you to keep it from redrawing windows.
-
- Window redrawing may be stopped by holding down the left-shift and
- alternate keys at the same time. Holding the keys down momentarily
- will stop redrawing the current window being drawn. Holding the keys
- down for a longer period of time will stop the redrawing of several or
- all windows, depending on how long the keys are held. Continuously
- holding the keys down will inhibit MetaView from redrawing any of it's
- windows. This can be useful when you want to quickly size and position
- several windows.
-
-
- 3.7 Fonts & GDOS
-
- MetaView will work with or without GDOS (or equivalent software)
- installed. Without GDOS, any text contained in the metafile will be
- drawn using the built-in system fonts.
-
- With GDOS installed, you may instruct MetaView to draw text using
- the loaded GDOS fonts. If the font defined in the metafile is not
- currently loaded, then the system font will be used by default. Note
- that since MetaView does not allow metafiles to be changed, saved, or
- printed, the only thing GDOS does for MetaView is allow it to use the
- additional fonts.
-
-
- 3.8 Fonts & the GEM Virtual Workstations
-
- GEM applications interface to devices, such as the screen or
- printer, through GEM Virtual Workstations. Several Virtual
- Workstations may be opened to a single device.
-
- The use of Fonts is dictated by each Virtual Workstation,
- independently of all other Virtual Workstations opened to the device.
- Only the first Virtual Workstation requesting GDOS to "load fonts" will
- actually cause GDOS to read the fonts from disk into the computer's
- memory. Additional requests to "load fonts" from other Virtual
- Workstations opened to the same device will not cause the fonts to be
- read from disk again. Thus, Virtual Workstations all share a single
- copy of the fonts in memory. Only the last Virtual Workstation to
- request GDOS to "unload fonts" will actually cause the fonts to be
- release from memory.
-
- Since MetaView is a GEM application, it opens it's own Virtual
- Workstation to the screen. It thus has independent control over the
- use of GDOS Fonts. When MetaView is running as a Desk Accessory, even
- though another application (like EasyDraw) has loaded fonts, MetaView
- will still have to be instructed to use them.
-
-
- 4.0 The Bad Stuff
-
- 4.1 Limitations
-
- The current version of MetaView does not support GEM Image (.IMG)
- files. I don't know what it will do if you try to view a metafile
- which references a .IMG file. It may be harmless, it may crash your
- computer. (GEM-Paint is one application I know of that generates such
- metafiles.)
-
- If the a metafile can't fit into available memory, it can't be
- viewed. A future version of MetaView will include an option to allow
- metafiles to be drawn directly from disk rather than from memory.
-
- The MetaView Desk Accessory closely follows the rules for
- processing accessory close messages from GEM. It releases all memory
- it has dynamically allocated and closes its of the Virtual Workstations
- it has opened. This enables MetaView to co-operate with the GEM
- Desktop and other GEM applications very well. However, current
- versions of TOS do not send an accessory close message to Desk
- Accessories when the screen resolution is changed. This means if you
- change screen resolutions while there are MetaView windows open the
- memory allocated to the open windows will be lost and unusable until
- you re-boot your computer. Doing this repeatedly will eventually use
- up all memory resulting in a crashed computer. Remember, always make
- sure all MetaView windows are closed before changing screen
- resolutions.
-
-
- 4.2 Known Bugs
-
- These little rascals are always lurking in the wood work. The
- only bug I know of in this version is that sometimes the positioning of
- some text will be all screwy. I'm not sure what causes this, but it
- doesn't seem to do any harm other than spattering characters randomly
- in the window. This phenomena is exhibited by both the program and
- accessory versions of MetaView. As you might suspect, a system re-boot
- is the only way I know of to cure this problem.
-
- This doesn't mean there aren't any other bugs. I've made every
- effort to make MetaView bullet-proof. However, there is always the
- possibility I missed something; there may be situations I am unaware of
- and therefore did not account for. If you find any bugs, I would
- surely like to know about them. Please drop me a line describing the
- symptoms and, if the problem is reproducible, how you made it happen.
-
-